/**
 * Copyright &copy; 2013-2015 山东易科德软件有限公司   All rights reserved.
 */
package cn.net.ecode.modules.sys.dao;

import java.util.List;

import cn.net.ecode.common.persistence.CrudDao;
import cn.net.ecode.common.persistence.annotation.MyBatisDao;
import cn.net.ecode.modules.sys.entity.Role;

/**
 * 单表DAO接口
 * 
 * @author 王震
 * @version 2014-8-19
 */
@MyBatisDao
public interface RoleDao extends CrudDao<Role> {

	public Role getByName(Role role);

	public Role getByEnname(Role role);

	/**
	 * 根据编码（精确）和名称（模糊）查询
	 * 
	 * @param role
	 * @return
	 */
	public List<Role> findListByCodeName(Role role);
	
	/**
	 * 更新显示隐藏状态
	 * @param role
	 * @return
	 */
	public int updateIsShow(Role role);
	
	/**
	 * 维护角色与菜单权限关系
	 * @param role
	 * @return
	 */
	public int deleteRoleMenu(Role role);

	public int insertRoleMenu(Role role);

	public int deleteRoleUser(Role role);

	/**
	 * 该用户是否有该角色
	 * @return
	 */
	public String hasUserRole(Role role);

}
